home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / graphic / 1svga.zip / RESIZE.PAS < prev    next >
Pascal/Delphi Source File  |  1994-04-27  |  1KB  |  33 lines

  1. { Resize Font & Picture }
  2.  
  3. uses Txt;  {$I+}
  4.  
  5. var A,B:array[0..16383] of byte;  { Max: 128x128 }
  6.     File1,File2:file;
  7.     I,J,M,N,X1,Y1,X2,Y2,Size1,Size2:integer;
  8. begin
  9.   Writeln;
  10.   Writeln('Resize Font & Picture (Max size: 128*128)');
  11.   Writeln('Copyright (C) 1994 by Jou-Nan Chen');
  12.   Val(ParamStr(3),X1,I); Val(ParamStr(4),Y1,I); Size1:=X1*Y1;
  13.   Val(ParamStr(5),X2,I); Val(ParamStr(6),Y2,I); Size2:=X2*Y2;
  14.   Val(ParamStr(7),M,I);  Val(ParamStr(8),N,I);
  15.   Assign(File1,ParamStr(1)); {$I-} Reset(File1,Size1); {$I+}
  16.   if (ParamCount<>8) or (I<>0) or (IOResult<>0) or (X1<1) or (X2<1)
  17.   or (Y1<1) or (Y2<1) or (M<0) or (N<1) then begin
  18.     Writeln;
  19.     Writeln('Usage: Resize InFile OutFile InX InY OutX OutY StartChar CharCount');
  20.     Writeln('       InX, InY, OutX, OutY ─── byte');
  21.     Halt(1);
  22.   end;
  23.   Seek(File1,M);
  24.   Assign(File2,ParamStr(2)); Rewrite(File2,Size2);
  25.   for I:=0 to N-1 do begin
  26.     BlockRead(File1,A,1);
  27.     FillChar(B,Size2,0);
  28.     for J:=0 to Y1-1 do Move(A[X1*J],B[X2*J],X1);
  29.     BlockWrite(File2,B,1);
  30.   end;
  31.   Close(File1); Close(File2);
  32. end.
  33.